// import Vue from 'vue'
import http from './common/http.js'
// Vue.prototype.$http = http
var jweixin = require('jweixin-module');
console.log(http)
export default {
	// 调试模式
	debug: true,
	// api列表
	jsApiList: [ //这里是需要用到的接口名称
		'checkJsApi', //判断当前客户端版本是否支持指定JS接口  
		'onMenuShareAppMessage', //分享接口  
		'getLocation', //获取位置  
		'openLocation', //打开位置  
		'scanQRCode', //扫一扫接口  
		'chooseWXPay', //微信支付  
		'chooseImage', //拍照或从手机相册中选图接口  
		'previewImage', //预览图片接口  
		'uploadImage' //上传图片  
	],
	//判断是否在微信中    
	isWechat: function() {

		var ua = window.navigator.userAgent.toLowerCase();
		// return true;
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			console.log('是微信客户端')  
			return true;
		} else {
			uni.showToast({
				title: "请在微信客户端打开",
				icon: 'none',
				duration: 5000
			});
			console.log('不是微信客户端')  
			return false;
		}
	},
	// 初始化sdk配置
	initJssdk: function(callback) {
		if (this.isWechat()) {
			
			console.log(encodeURIComponent(window.location.href.split("#")[0]))
			var url = encodeURIComponent(window.location.href.split("#")[0]);
		
			http.checkToken({
				url: url
			}).then(res => {
				var data = res.data

				jweixin.config({
					debug: this.debug,
					appId: data.appId,
					timestamp: data.timestamp,
					nonceStr: data.nonceStr,
					signature: data.signature,
					jsApiList: this.jsApiList
				})
				if (typeof callback === 'function') {
					callback(data)
				}
			})
		}
	},


	// 微信分享
	share: function(data, callback) {
		if (this.isWechat()) {
			this.initJssdk(function(init) {
				jweixin.ready(function() {
					var shareData = {
						title: data.title,
						desc: data.desc,
						link: window.location.href,
						imgUrl: data.image,
						success: function(res) {
							callback(res)
						},
						cancel: function(res) {
							callback(res)
						}
					}
					jweixin.updateAppMessageShareData(shareData)
					jweixin.updateTimelineShareData(shareData)
				})
			})
		}
	},
	// 关闭页面事件
	closeWindow: function(callback) {
		if (this.isWechat()) {
			this.initJssdk(function(init) {
				jweixin.ready(function(wx) {
					wx.closeWindow()
					if (typeof callback === 'function') {
						callback(jweixin)
					}
				})
			})
		}
	},

	//在需要定位页面调用  
	getlocation: function(callback) {
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.getLocation({
					type: 'gcj02', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'  
					success: function(res) {
						// console.log(res);  
						callback(res)
					},
					fail: function(res) {
						console.log(res)
					},
					// complete:function(res){  
					//     console.log(res)  
					// }  
				});
			});
		});
	},
	openlocation: function(data, callback) { //打开位置  
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.openLocation({ //根据传入的坐标打开地图  
					latitude: data.latitude,
					longitude: data.longitude
				});
			});
		});
	},
	// 获取微信收货地址
	openAddress: function(callback) {
		if (this.isWechat()) {
			this.initJssdk(function(init) {
				jweixin.ready(function() {
					jweixin.openAddress({
						success: function(res) {
							callback(res)
						},
						fail: function(err) {
							callback(err)
						}
					})
				})
			})
		}
	},

	// 微信扫码
	scanQRCode: function(callback) {
		if (this.isWechat()) {
			this.initJssdk(function(init) {
				jweixin.ready(function() {
					jweixin.scanQRCode({
						needResult: 1, // 0:微信处理|1:返回扫描结果
						scanType: ["qrCode", "barCode"],
						success: function(res) {
							let durl = /https:\/\/([^\/]+)\//i
							let domain
							res.resultStr.replace(durl, (e) => {
								domain = e
							})
							callback(res)
						},
						fail: function(err) {
							callback(err)
						}
					})
				})
			})
		}
	},

	chooseImage: function(callback) { //选择图片  
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		//console.log(data);  
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseImage({
					count: 1,
					sizeType: ['compressed'],
					sourceType: ['album'],
					success: function(rs) {
						callback(rs)
					}
				})
			});
		});
	},
	//微信支付  
	wxpay: function(data, callback) {
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseWXPay({
					timestamp: data
						.timestamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  
					nonceStr: data.nonceStr, // 支付签名随机串，不长于 32 位  
					package: data
						.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）  
					signType: data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'  
					paySign: data.paysign, // 支付签名  
					success: function(res) {
						// console.log(res);  
						callback(res)
					},
					fail: function(res) {
						callback(res)
					},
					// complete:function(res){  
					//     console.log(res)  
					// }  
				});
			});
		});
	},



}
